As computing devices, such as laptops, tablets, or smartphones, become increasingly sophisticated, new and interesting approaches have arisen for enabling such devices to convey information to a user. For instance, a graphical user interface (GUI) incorporating elements such as windows, icons, and menus may be an improvement over a command-line interface by simplifying how a user operates an underlying software application. As these interfaces move towards being more realistic, these elements can be given a shape and/or depth that enables them to provide a view that at least appears to show these elements in three-dimensional space. In order to achieve this effect, many interfaces utilize shadowing. Shadowing generally refers to determining which elements might cast a shadow on other elements given a determined spatial arrangement and a virtual light source location. For interfaces with many different elements, however, the need to continually determine and generate shadows for each of these elements can be relatively resource intensive, particularly for portable computing devices with limited battery life, memory, and processing power.